
Irn Bruce
|
Posted - 2009.03.28 11:53:00 -
[1]
Originally by: Elite Qin Ray tracing (which is what would be needed for this idea) is EXTREMELY CPU intensive, it's a rough, rough thing to do, and with those ships running, it'll kill the servers.
People always have the misconception that ray tracing is CPU intensive. For an application like this, it's not particularly bad. Yes, it's more CPU intensive than the way guns work now, but it's really not that bad. The misconception comes because ray traced graphics ARE hugely intensive. But that's because you're casting a ray for every pixel on the screen (usually in 2 directions) and letting it reflect multiple times. Which works out at several million rays per frame.
For a gun like this, it could ignore collisions with everything but the target, just like current guns do, and would only need a single ray to be cast each time the gun was fired. Presumably it would have a slow rate of fire, and there would probably only be one per ship. Even in a huge fleet battle, that will only be a few hundred rays every x number of seconds. That could be handled easily.
However, this idea is still technically unfeasible. Casting a ray isn't the problem, the problem is that the server doesn't know all the information it needs to work out if the ray actually hits. As far as I can tell, the serve treats every ship as a sphere, and doesn't know anything about the direction it's facing. So the server doesn't know what direction to cast the ray in. With the current, turreted guns, this isn't a problem, because the only variable that matters is range, which is calculated from the centre of your ship's bounding sphere to the centre of the target ship's.
Theoretically, it would be possible to make a change so that the server would know the necessary information, but I suspect doing that would have a big impact on server performance, since it's something that would have to be tracked for every ship in space, at all times.
Technical issues aside though, I don't like this idea. It's a nice idea from a "coolness" point of view, but in game it just wouldn't work. you're talking about a gun with zero tracking. To get a hit, you'd have to be extremely lucky, or firing at something stationary. Essentially, you're just talking about dreadnought guns in siege mode.
|